Batch scripting এ modularity এবং reusability নিশ্চিত করা খুবই গুরুত্বপূর্ণ, বিশেষত যখন আপনি বড় আকারের স্ক্রিপ্ট তৈরি করছেন যা বিভিন্ন কাজ একসাথে সম্পাদন করে। স্ক্রিপ্টটি যদি একে অপরের সাথে জড়িত থাকে এবং কমপ্লেক্স হয়, তবে এর মেইনটেনেন্স এবং আপডেট করা কঠিন হতে পারে। কিন্তু কিছু কৌশল ব্যবহার করে, আপনি আপনার Batch Scripts কে আরো modular এবং reusable করে তুলতে পারেন, যাতে এগুলো পুনরায় ব্যবহার করা যায় এবং সহজে মডিফাই করা যায়।
এখানে কিছু কৌশল আলোচনা করা হবে যা Batch Files কে modularity এবং reusability প্রদান করতে সাহায্য করবে।
Batch Script এ কোনো ধরনের ফাংশন বা সাবরুটিন সরাসরি সমর্থিত না হলেও, আপনি কিছু কৌশল ব্যবহার করে এই ধারণাগুলি বাস্তবায়ন করতে পারেন। সবচেয়ে সাধারণ কৌশল হল CALL
কমান্ড ব্যবহার করা, যা একটি পৃথক অংশ বা লেবেল (Label) থেকে কোড এক্সিকিউট করতে সক্ষম করে।
উদাহরণ:
@echo off
:: Main Program
echo Running main script...
call :ProcessData
echo Back to main script...
goto :EOF
:: Subroutine: ProcessData
:ProcessData
echo Processing Data...
:: Any task or set of commands to handle data can go here
goto :EOF
এখানে:
call :ProcessData
কমান্ডটি একটি সাবরুটিন (:ProcessData
লেবেল) কল করবে।goto :EOF
কমান্ডটি সাবরুটিনটি শেষ করার পর স্ক্রিপ্টের মূল অংশে ফিরে আসবে।এই কৌশল Batch Script কে modular বানায়, কারণ আপনি একাধিক সাবরুটিন বা ফাংশন তৈরি করতে পারেন এবং সেগুলিকে বিভিন্ন জায়গায় পুনরায় ব্যবহার করতে পারেন।
Batch Script এ labels ব্যবহার করে আপনি একটি স্ক্রিপ্টের মধ্যে বিভিন্ন অংশ আলাদা করে রাখতে পারেন। এগুলি সাবরুটিনের মতো কাজ করে এবং একাধিক স্থানে পুনরায় ব্যবহার করা যায়।
উদাহরণ:
@echo off
echo Starting Process...
call :Task1
call :Task2
call :Task3
echo Process Complete.
goto :EOF
:: Task 1
:Task1
echo Performing Task 1...
goto :EOF
:: Task 2
:Task2
echo Performing Task 2...
goto :EOF
:: Task 3
:Task3
echo Performing Task 3...
goto :EOF
এখানে:
Task1
, Task2
, Task3
) আছে এবং এগুলিকে পৃথক লেবেলগুলির মাধ্যমে সংজ্ঞায়িত করা হয়েছে।call
কমান্ড ব্যবহার করে, আপনি একাধিক জায়গায় একই টাস্ক পুনরায় কল করতে পারবেন।আপনার Batch Scripts কে reusable এবং modular বানানোর আরেকটি উপায় হল একাধিক স্ক্রিপ্ট ফাইল তৈরি করা এবং এক ফাইলের মধ্যে অন্য ফাইলকে call করা। এতে স্ক্রিপ্টের পুনঃব্যবহারযোগ্যতা বাড়ে এবং একটি বড় স্ক্রিপ্টের অংশগুলো পৃথক ফাইলে রাখা সহজ হয়।
উদাহরণ:
:: Main Batch File (main.bat)
@echo off
echo Running main script...
call task1.bat
call task2.bat
echo Process complete.
এখানে, main.bat
স্ক্রিপ্টটি দুটি অন্য স্ক্রিপ্ট ফাইল (task1.bat
এবং task2.bat
) কল করছে। আপনি প্রতিটি স্ক্রিপ্ট ফাইলের মধ্যে বিভিন্ন কাজ সংজ্ঞায়িত করতে পারেন এবং সেই কাজগুলো পুনরায় ব্যবহার করতে পারবেন।
যখন আপনি Batch Files তৈরি করেন, তখন parameters বা আর্গুমেন্ট ব্যবহার করে স্ক্রিপ্টকে আরো reusable বানানো যায়। একে আপনি স্ক্রিপ্টে ভ্যালু পাস করে বিভিন্ন কাজ করতে পারেন। এর মাধ্যমে, আপনি স্ক্রিপ্টে একই কমান্ড চালানোর জন্য আলাদা আলাদা ইনপুট বা কনফিগারেশন প্রদান করতে পারবেন।
উদাহরণ:
@echo off
:: Accepting parameters
echo Hello, %1! Welcome to the batch script.
echo Performing Task: %2
:: Example usage:
:: batchfile.bat John Backup
এখানে:
%1
এবং %2
স্ক্রিপ্টের আর্গুমেন্ট হিসেবে পাস করা হয়। প্রথম আর্গুমেন্ট হলো নাম (যেমন "John") এবং দ্বিতীয় আর্গুমেন্ট হলো কাজ (যেমন "Backup")।আপনি যখন Batch Script তৈরি করেন, তখন Error Handling এবং Logging কৌশল ব্যবহার করা উচিত যাতে স্ক্রিপ্টটি যদি কোনো সমস্যা বা ত্রুটি পায়, তাহলে সেটি লগ ফাইলে সংরক্ষিত হয় এবং আপনি পরবর্তীতে সেগুলো দেখে সমস্যা সমাধান করতে পারেন।
উদাহরণ:
@echo off
set LOGFILE=C:\batch_log.txt
echo Starting Process... >> %LOGFILE%
call :Task1 >> %LOGFILE% 2>&1
call :Task2 >> %LOGFILE% 2>&1
echo Process Finished >> %LOGFILE%
goto :EOF
:: Task1
:Task1
echo Performing Task 1...
goto :EOF
:: Task2
:Task2
echo Performing Task 2...
goto :EOF
এখানে:
>> %LOGFILE%
ব্যবহার করে স্ক্রিপ্টের আউটপুট এবং ত্রুটি লগ ফাইলে লেখা হয়।2>&1
ব্যবহার করে ত্রুটিও লগ করা হয়, যা সাধারণত স্ক্রিপ্টে ঘটে থাকে।Batch Scripts এর মধ্যে include কমান্ড দিয়ে আপনি একটি স্ক্রিপ্টের মধ্যে অন্য একটি স্ক্রিপ্ট বা কোড অংশ অন্তর্ভুক্ত করতে পারেন। এটি পুনঃব্যবহারযোগ্য কোড তৈরি করতে সহায়ক।
উদাহরণ:
:: Main script (main.bat)
@echo off
echo Starting main script...
call :IncludeScript
echo Main script finished.
goto :EOF
:: Include script (include.bat)
:IncludeScript
echo This is the included script!
goto :EOF
এখানে:
main.bat
স্ক্রিপ্টে call :IncludeScript
দিয়ে include.bat
স্ক্রিপ্টটি কল করা হয়েছে।Batch Script এ modularity এবং reusability নিশ্চিত করার জন্য অনেকগুলো কৌশল রয়েছে, যেমন ফাংশন এবং সাবরুটিনের ব্যবহার, লেবেল এবং এক্সটার্নাল স্ক্রিপ্ট কল করা, প্যারামিটার ব্যবহার করা এবং লগিং ও এরর হ্যান্ডলিং টেকনিক। এসব কৌশল Batch Script কে আরও কার্যকর, পুনরায় ব্যবহারযোগ্য এবং সহজে রক্ষণাবেক্ষণযোগ্য করে তোলে।
common.read_more